package Test.优先队列;

import java.util.PriorityQueue;

/**
 * @ClassName 第K大数
 * @since: 2023/9/5 10:23
 * @auth: kirito
 * @description:
 **/
public class 第K大数 {
    public static int findKthLargest(int[] nums, int k) {
        // 创建一个优先级队列，默认按自然顺序排序
        PriorityQueue<Integer> pq = new PriorityQueue<>();
        for(int num:nums){
            pq.offer(num);
        }
        int i = 1;
        while (!pq.isEmpty()) {
            if(i==(nums.length-k+1)){
                return pq.poll();
            }
            pq.poll();
            i++;
        }
        return 0;
    }

    public static void main(String[] args) {
        int[] nums = {3,2,3,1,2,4,5,5,6};
        System.out.println(findKthLargest(nums,4));
//        PriorityQueue<Integer> pq = new PriorityQueue<>();
//        for(int num:nums){
//            pq.offer(num);
//        }
//        Object[] objects = pq.toArray();
//        int x =  (int) objects[1];
//        System.out.println(x);
//        int i = 1;
//        while (!pq.isEmpty()) {
//            if(i==6){
//                System.out.println(pq.poll()+"-----");
//            }
//            System.out.println("移除的元素：" + pq.poll());
//            i++;
//
//        }
    }

}
